this was written by Reingold & Tilford; see IEEE transcript on